专利摘要:
多重ポート(120)メモリ装置(100)内のメモリバンク(110)を構成要素間で共有するための方法およびシステムが提供される。多重ポートメモリ装置は、システムの構成要素が取り付けられる複数のポートと、ポートのそれぞれにより共有される多重ポートメモリ装置内の複数のメモリバンクとを含む。各メモリバンクの各ポートにはバンク可用性ピンが追加される。バンクが特定ポートに対して使用可能な場合にはバンク可用性ピンはシグナリングされ、バンクが使用不能な場合にはバンク可用性ピンはシグナリングされない。こうして、共有を支援する少量の追加ハードウェアのみで、多重ポートメモリ装置をいくつかの構成要素により同時に共有させることができる。また、メモリバンクをリフレッシュする方法が提供される。
公开号:JP2011507071A
申请号:JP2010536963
申请日:2008-11-12
公开日:2011-03-03
发明作者:ドンギュン リー
申请人:シリコン イメージ,インコーポレイテッド;
IPC主号:G06F12-00
专利说明:

[0001] コンピュータハードウェアにおいて、共有メモリは通常、マルチプロセッサコンピュータシステムにおけるいくつかの異なる中央処理装置(CPU)または他の構成要素によりアクセスすることができる大きなランダムアクセスメモリブロックを指す。例えば、携帯電話は、それぞれが共通メモリ領域を共有し得るベースバンド処理装置、メディア処理装置およびLCD制御装置を含むことが多い。マルチプロセッサシステムの構成要素は頻繁に情報を共有する必要がある。例えば、携帯電話のメディア処理装置は、電話をかけるためにベースバンド処理装置と相互作用するオペレーティングシステムを実行することができる。別の例として、メディア処理装置は、表示される画像を記述するLCD制御装置のフレームバッファ内に情報を書き込むことができる。構成要素間の情報共有は通常、様々な制御およびデータインターフェースを必要とする。制御およびデータインターフェースは、各構成要素間および構成要素と共有メモリ間で規定されてよい。また、共有メモリを使用する各構成要素間には共有メモリのアクセスを調整するための追加のインターフェースが存在してよい。]
[0002] ダイナミックランダムアクセスメモリ(DRAM)を含む通常のメモリ装置では、メモリにアクセスする構成要素はメモリ装置の使用を開始するための起動(ACT)命令を送信する。メモリは通常、行と列アドレスを与えることによりアクセスされ、行アドレスはACT命令を伴ってもよい。ACT命令はバッファ内の指定された行のメモリがキャッシュされるようにし、その後の読み出し命令はメモリデータの様々な列にアクセス(例えば、読み出しと書き込み)することができる。構成要素が行内のデータのアクセスを終了すると、構成要素は通常、行データがメモリバンクに書き戻されるようにするプリチャージ(PCG)命令を発行する。このサイクルは、構成要素がメモリデータの別の行にアクセスすると繰り返される。]
発明が解決しようとする課題

[0003] 共有メモリ装置に関する1つの問題は、マルチプロセッサアーキテクチャにおける構成要素が共有メモリ装置内のバンクを頻繁に共有する必要があるということである。例えば、1つのバンクは、タスクを完了する1つの構成要素に割り当てられ、そしてそのタスクが完了すると別の構成要素に割り当てられることがある。別の例として、構成要素は、構成要素間で情報を共有するためにバンクを使用することができる。構成要素は、メモリにアクセスすることが安全になったときを各構成要素が検知できるように調整する必要があると考えられる。2つの構成要素が同時にメモリに書き込もうとすると、1つの構成要素が他の構成要素により書き込まれた情報に上書きすることによりデータ破壊が発生し得る。同様に、1つの構成要素が別の構成要素と共有するための情報をメモリへ書き込み、他の構成要素がこのメモリからあまりにも早く読み出すと、この読み出す構成要素は古い情報を読み出すことになる。したがって、メモリバンクを共有する方法の改良が必要である。]
図面の簡単な説明

[0004] 多重ポートメモリ装置の構成要素を示すブロック線図である。
多重ポートメモリ装置のバンクアクセス制御装置の処理を示すフロー図である。
バンクリフレッシュ制御モジュールを示すブロック線図である。
図3Aのバンクリフレッシュ制御モジュールの状態を示す状態図である。] 図3A
実施例

[0005] 構成要素間でメモリバンクを共有するための方法およびシステムを提供する。多重ポートメモリ装置は、マルチプロセッサシステムの構成要素が取り付けられる複数のポートと、ポートのそれぞれにより共有される多重ポートメモリ装置内の1つまたは複数のメモリバンクとを含む。バンクは、バンクが使用可能かどうかを示す指示を各ポートに提供する。例えば、バンクは、バンクが特定ポートに対し使用可能な場合にシグナリングされバンクが使用不能な場合にシグナリングされないバンク可用性(bank availability)ハードウェアピンを提供することができる。あるいは、バンクはメモリ装置の標準ピン(例えばデータピン)を介してバンク可用性指示を与えてもよい。ポートに取り付けられた構成要素がメモリバンクの使用を望む場合、構成要素はバンク可用性指示を検査することによりバンクが使用可能かどうかを判断する。バンクが使用可能であるということをバンク可用性指示が示す場合、構成要素は入力制御ピンなどを介しメモリバンクを予約する要求を送信する。例えば、DRAMのバンクを予約する要求はDRAM ACT命令に付属されてよい。バンクは、バンク予約要求を受信すると、各ポートのバンク可用性指示を変更する。予約要求を送信したポートに対しては、バンク可用性指示はバンクが使用可能であるということを示し続ける。しかしながら、他の各ポートに対しては、バンク可用性指示はバンクが使用中であるということ示し、これによりバンク予約要求を発行した構成要素の独占使用のためにバンクを効果的に予約する。このとき、バンク予約要求を発行した構成要素はメモリバンクに対し読み出し書き込みを行うことができる。構成要素は、メモリバンクの使用が終了すると、バンクの予約を放棄するバンク解除命令を送信する(例えば、入力制御ピンをシグナリングしないことにより)。例えば、バンクを解除する要求はDRAMPCG命令に付随されてよい。次に、メモリバンクは、メモリバンクが任意のポートにより再度使用可能であることを示すためにバンク可用性指示を変更する。こうして、共有を支援する少量の追加ハードウェアのみで、多重ポートメモリ装置をいくつかの構成要素により同時に共有させることができる。]
[0006] バンクアクセス制御
いくつかの実施形態では、多重ポートメモリ装置は、2つの構成要素がACT命令を送信することによりバンクを同時に予約しようとするときに使用されるポート間の優先度を設定する。例えば、両方の構成要素は可用性ピンを検査してバンクが使用可能であるということを判断することができ、両方の構成要素はバンクを予約するACT命令を送信することができる。多重ポートメモリ装置はより高い優先度を有するポートに対し予約を許可する。構成要素は、予約要求が成功したかどうかを判断するために可用性ピンを使用することができる。高い優先度を有する構成要素はバンク可用性ピンを1に設定し、一方、低い優先度(および他のポートのそれぞれ)を有する構成要素はバンク可用性ピンを0に設定する。]
[0007] 当業者は、バンク可用性ピンを使用することにより共通同期構成(相互排除(mutexe)およびセマフォ(semaphore)など)を構築できるということを認識するであろう。構成要素は、バンクの可用性を楽観的に試験することによりACT命令を発行する。バンクが使用可能な場合、ACT命令は成功し、バンク可用性ピンは構成要素がメモリバンクにアクセスするための予約を有するということを示す。ACT命令が失敗した(例えば、バンクが既に予約されているために)場合、バンク可用性ピンはバンクが使用可能でないということを示し、構成要素はバンクがいつ使用可能になるかを判断するために追加のACT命令を送信することによりバンクを定期的にポーリングすることができる。一つの最適化として、構成要素はまた、追加のACT命令を送信する前に、バンクがもはや予約されていないということをバンク可用性ピンが指示するのを待ってよい。]
[0008] いくつかの実施形態では、多重ポートメモリ装置は、どの構成要素が各メモリバンクにアクセスすることができるかを判断するための電子ヒューズを提供する。電子ヒューズは、装置に電子信号を送信することにより吹き飛ばされるヒューズである。多くの電子ヒューズは一旦吹き飛ばされるとリセットすることができないので、ソフトウェアがハードウェア構成を改ざんするのを防ぐための効果的なツールとなる。例えば、いくつかの電子ヒューズを吹き飛ばすことにより、アプリケーションは、バンク可用性ピンが1つのポートに対する可用性を常に示しかつ他のポートに対する非可用性を常に示すように多重ポートメモリ装置を構成することができる。このような構成は、製造工程の一部として実行されてもよく、あるいはメモリ装置が特定のアプリケーションに組み込まれた後フィールドで実行されてもよい。いくつかのアプリケーションでは、構成要素間のハードウェアファイアウォールの形態を補強するために、他の構成要素により使用されるメモリバンクにいくつかの構成要素が確実にアクセスできないようにすることが望ましい。例えば、携帯電話は、携帯電話プロバイダーのネットワークで通信を行うベースバンド処理装置により使用されるメモリを、携帯電話使用者にユーザーインターフェースを提供するオペレーティングシステムを実行するメディア処理装置の誤った振る舞いから保護するように設計されることが多い。このタイプの設計は、無効データがプロバイダーのネットワーク上で送信されると発生し得るようなオペレーティングシステムソフトウェアのエラーがプロバイダーのネットワークに影響を及ぼすのを防ぐ。いくつかの電子ヒューズを吹き飛ばすことにより、ハードウェアにより、メディア処理装置がベースバンド処理装置により使用されるメモリバンクにアクセスするのを防ぐことができる。]
[0009] いくつかの実施形態では、多重ポートメモリ装置は、アプリケーションがメモリバンクの可用性の構成を動的に変更するために使用できるモード設定レジスタ(MRS)を提供する。一旦吹き飛ばされると通常はリセットすることができない電子ヒューズとは異なり、MRSは、多重ポートメモリ装置の構成を時間の経過とともに変更するためにソフトウェアにより繰り返し設定することができる。同じ装置内にハードウェアロック構成とリセット可能構成の両方を提供するために、マスタ電子ヒューズを使用して現在の構成がモード設定レジスタにより設定されるかあるいは他の電子ヒューズにより設定されるかを判断することができる。アプリケーションがハードウェアロック構成を必要とする場合、アプリケーションは他の電子ヒューズの構成が装置の構成を制御するようにマスタ電子ヒューズを吹き飛ばすことができ、ソフトウェアが構成に対し追加変更を行うことを防止することができる。アプリケーションがリセット可能構成を必要とする場合、マスタヒューズは吹き飛ばされず、MRS内の構成データが装置の構成を制御する。]
[0010] 図1は、一実施形態における多重ポートメモリ装置100の構成要素を示すブロック線図である。多重ポートメモリ装置100は、1つまたは複数のメモリバンク110、1つまたは複数のシリアルポート120、メモリバンクのそれぞれに関連する1つまたは複数のバンクアクセス制御装置130、1つまたは複数の電子ヒューズ140、入力制御ピン145、および出力制御ピン150を含む。メモリバンク110は通常、そのサイズが異なってよいダイナミックランダムアクセスメモリ(DRAM)バンクであり、ポート120により共有される。ポート120は、ポートに接続される構成要素(図示せず)に対しデータを送受信できるようにするシリアルポートである。バンクアクセス制御装置130は、任意の特定の時間にどのポートがどのメモリバンクにアクセスできるかを判断する。いくつかの実施形態では、バンクアクセス制御装置130は各メモリバンク110に関連付けられ、各バンクのバンクアクセス要求を処理する。ポートに取り付けられた構成要素がメモリバンクの予約を望む場合、構成要素は入力制御ピン145全体にわたってバンク使用要求(例えばACT命令)を送信する。特定のメモリバンクに関連するバンクアクセス制御装置130は、この要求にどのように応答するかを判断し、バンク使用許可または拒絶のいずれかにより出力制御ピン150を使用して応答する。] 図1
[0011] バンクアクセス制御装置130は、バンクアクセス制御の3つの選択肢:「制御無し」、「構成による制御」、および「優先度ベースの制御」を許容する。「制御無し」選択肢は、関連バンクへのアクセスがメモリ装置により規制されないことを意味する。「制御無し」選択肢は、複数の構成要素間またはバンクへのアクセスを管理するポートマスター間の外部調整に依存する。いくつかの実施形態では、「制御無し」選択肢はバイパスアクセス管理信号をアサートすることにより選択されてよい。「構成による制御」選択肢は、バンクへのアクセスがメモリ装置の構成に基づき制限されることを意味する。「構成による制御」は、バンクアクセス権を各ポートに割り当てるために電子ヒューズまたはモードレジスタのいずれかを使用する。割り当てがヒューズによりまたはモードレジスタにより発生するかを選択するために別のヒューズを使用してもよい。「優先度ベースの制御」選択肢は、競合するポート間に設定された優先度に基づき独占的使用権がポートに許可されることを意味する。]
[0012] 図1では、各バンクアクセス制御装置130は、バンク使用要求が関連バンクに対し許可されるかあるいは拒絶されるかを判断する内部ロジックを含む。具体的には、バンクアクセス制御は、(1)ポート間の優先度を判断する優先度エンコーダ160、(2)関連メモリバンクへのアクセスを無効にするアクセス無効化制御部(disable access control)170、および(3)構成データの設定に応答する外部アクセス制御部180(例えば、モードレジスタセット(MRS)および/または1つまたは複数の電子ヒューズ140)を含む。優先度エンコーダ160は、メモリバンクにアクセスする一斉要求を行う高い優先度構成要素が低い優先度構成要素に優先してアクセスを許可されるようにポート間の優先度を設定する。優先度エンコーダ動作は、高い番号のポート(例えばポート2、ポート3)に接続される低い優先度構成要素より低い番号のポート(例えばポート0、ポート1)に接続される高い優先度構成要素に依存する。アクセス無効化制御部は、対応するバンクが信号線185に印加される単一の無効化制御信号の印加により無効にできるようにする。外部アクセス制御部180は、いくつかのポートが対応するメモリバンクにアクセスすることを防止できるようにする。外部アクセス制御部の状態はアクセス制御部に印加される構成データに依存する。このような構成データは、MRSまたは1つまたは複数のヒューズ140の設定により発生させることができる。MRSまたはヒューズ140の状態は外部アクセス制御部を形成する論理に適用され、対応するバンクへのアクセスは、MRSまたはヒューズの状態が変更されるまで1つまたは複数のポートに対し拒絶される。例えば、本明細書に記載のように、1つの構成要素がハードウェアレベルで別の構成要素により使用されるメモリにアクセスすることを防ぐことはいくつかのアプリケーションでは望ましいかもしれない。ソフトウェアエラーが構成要素全体にわたってメモリ破壊を引き起こすのを防ぐためにこの構成を使用することができる。無効化信号およびMRSまたはヒューズの状態だけでなく、バンクアクセス制御装置130に印加されるバンクアクセス要求の組み合わせもまた、バンクが制御およびデータインターフェース150上でアクセスするために使用可能か否かを判断する。いくつかの実施形態では、マスタ電子ヒューズ(図示せず)は、構成を判断するためにMRSまたは電子ヒューズを使用するかどうかを判断する。] 図1
[0013] 図2は、多重ポートメモリ装置のバンクアクセス制御装置130の1つの処理を示すフロー図である。ブロック210では、制御装置は、ポートの1つに取り付けられた構成要素から、多重ポートメモリ装置のバンクにアクセスする要求を受信する。ブロック220では、制御装置は、特定ポートに対し設定された優先度と構成を判断する。この判断は、現時点で要求ポートをメモリバンクにアクセスさせてよいかどうかを判断するために、優先度テーブルを検査する工程と、1つまたは複数の電子ヒューズの値を読み出す工程などを含んでもよい。判定ブロック230では、ポートをバンクにアクセスさせない場合、バンクアクセス制御装置はブロック240に進みアクセス要求を拒絶し、そうでなければ制御装置はブロック250に進む。ブロック250では、制御装置はアクセス要求を許可し、ポートに取り付けられた構成要素はメモリに対する読み出しおよび書き込みを開始することができる。ブロック260では、バンクアクセス制御装置は、バンクが予約され現在使用可能ではないという指示を他のポートに取り付けられた構成要素に与える。ブロック260の後、これらの工程は終了する。] 図2
[0014] 使用されるアクセス制御方式に基づき、メモリバンクを使用しようとする構成要素のメモリバンクへのアクセスを拒絶することができる。構成要素のアクセスが拒絶されると、多重ポートメモリ装置は、アクセスが拒絶されたことを示すメッセージを構成要素に送信することができる。構成要素は、進行中の任意の読み出しバーストを完了し、その後、失敗した命令を再発行することにより、メッセージを処理することができる。例えば、構成要素は、命令が成功するまでバンクにアクセスする命令を再発行することによりバンクが使用可能になるまで特定のバンクを繰り返しポーリングすることができる。]
[0015] リフレッシュタイミング
多重ポートメモリ装置100に含まれるDRAMバンク110は通常、DRAMにアクセスすることができる方法を規定する特定のタイミング要件を有する。例えば、DRAMは以下のタイミングパラメータを有してよい。]
[0016] ]
[0017] 多重ポートメモリ装置100は、一貫したメモリ状態を保証するためにDRAMが必要とするいかなるタイミング要件も遵守しなければならない。メモリバンクが複数の構成要素間で共有されると、バンクを使用する1つの構成要素は別の構成要素がバンクに何をしたかを知らないことがある。これは、例えば、十分な「読み出しから書き込みまでの遅延」が経過したこと、あるいは十分なリフレッシュ間隔が維持されたことを保証することを困難にする可能性がある。さらに、構成要素は通常、いくつかの種類の命令の後に多重ポートメモリ装置のバンクをリフレッシュする自動リフレッシュ命令(REFA)を送信する働きをする。しかしながら、複数の構成要素がメモリ装置を使用すると、1つのポート上で受信されたREFA命令は別のポートへのアクセスと競合する可能性がある。したがって、いくつかの実施形態では、多重ポートメモリ装置100はそれ自身の自動または局所リフレッシュ方式(本明細書に記載の)を採用する。]
[0018] 図3Aはバンクリフレッシュ制御モジュール300を示すブロック線図である。多重ポートメモリ装置は、リフレッシュサイクル(以下では、「局所リフレッシュ」と呼ぶ)中のメモリバンクへのアクセスを一時的に防ぐためにバンクリフレッシュ制御モジュール300を使用する。このモジュールは、バンクリフレッシュ制御装置320に接続されたリフレッシュタイマ310を含む。リフレッシュ制御装置320はDRAMメモリバンクに接続され、メモリが使用中でないときにメモリをリフレッシュするためにリフレッシュ信号を発行することができる。動作中、リフレッシュタイマ310は定期的にrefresh_tick信号を発行する。refresh_tick信号は、バンクリフレッシュを実行しなければならないということを示す。refresh_tick信号は、多重ポートメモリ装置内のすべてのバンクに対してグローバルに生成されてもよく、あるいは装置内のバンク毎に局所的に生成されてもよい。バンクリフレッシュ制御装置320はrefresh_tick信号を受信し、バンクアクセス制御装置130からのバンク使用許可信号との論理和をとることによりバンクが使用中であるかどうかを判断する。バンクが使用中でなければ、バンクリフレッシュ制御装置320は、バンクをリフレッシュするリフレッシュ信号を生成する。バンクリフレッシュ制御320はまた、論理「1」信号(in_refresh)を生成する。論理「1」信号(in_refresh)は、リフレッシュ動作が進行中であるときのメモリバンクへのアクセスを防ぐために反転され、バンクアクセス制御装置330のバンク使用許可信号と論理積により組み合わされる。リフレッシュ動作中のバンクにアクセスするいかなる試みも要求元構成要素へアクセス拒絶メッセージを送信させることになる。構成要素は通常、その後アクセスを再び試み、その後リフレッシュを完了することができる。リフレッシュ動作が完了すると、バンクリフレッシュ制御装置320はバンクアクセス制御装置130の正常な動作を可能にするためにin_refresh信号を論理「0」に設定する。バンクリフレッシュ制御装置320がrefresh_tick信号を受信したときにバンクが使用中である場合、バンクリフレッシュ制御装置は、リフレッシュ動作を完了するまで、バンクが使用されなくなるのを待つ。] 図3A
[0019] 図3Bは、図3Aのバンクリフレッシュ制御モジュール300の状態を示す状態図である。正常状態370では、refresh_tick、in_useおよびin_refresh線はシグナリングされず、正常なメモリ動作が許容される。refresh_tick線がシグナリングされ、かつ、メモリバンクが使用中でない場合、状態はリフレッシュ状態390に変わる。メモリバンクが使用中である場合、状態は待ち状態380に変わり、メモリバンクを使用する動作が完了しin_use線がシグナリングされなくなるのを待つ。このとき、状態はリフレッシュ状態390に変わる。リフレッシュ状態で、バンクリフレッシュ制御モジュールはリフレッシュ動作を完了させる。リフレッシュ動作が完了した後(tRCの経過により指示される)、状態は正常状態370に戻り、構成要素は再度、バンクを使用するメモリ操作を実行することができる。] 図3A 図3B
[0020] いくつかの実施形態では、図3Aのリフレッシュタイマ310は、バンクに対し発行された命令の種類に基づき、いつリフレッシュが必要かを自動的に判断する命令デコーダで置き換えられる。自動リフレッシュ方式と呼ばれるこの方式はより多くのハードウェアを必要とするが、構成要素がより短いリフレッシュ遅延でメモリバンクを使用できるようにする。] 図3A
[0021] いくつかの実施形態では、多重ポートメモリ装置はDRAMにアクセスする各動作間に必要とされる時間を低減するように設計される。例えば、列幅はバンク起動のためのエネルギーを軽減するために制限されてもよい。多重ポートメモリ装置はまた、tRRD、tFAWなどの制約条件を取り除くためにバンク毎に別個の電圧発生器を使用してもよい。当業者は、メモリバンクを共有する複数の構成要素間の競合を低減するためにこれらおよび他の設計を使用し得ることを認識するであろう。]
[0022] 結論
以上の説明から、多重ポートメモリ装置の特定の実施形態が例示のために本明細書に記載されたが、本発明の趣旨および範囲から逸脱することなく様々な変更がなされ得ることが理解されるであろう。例えば、処理構成要素はメモリを共有するための多重ポートメモリ装置に取り付けられるとして記載されたが、多重ポートメモリ装置には様々な構成要素を取り付けることができる。例えば、音声ハードウェア、LCD画面、映像ハードウェア、制御装置モジュール、デジタル信号処理装置、および他の多くのタイプの構成要素は、本明細書に記載の多重ポートメモリ装置および方法を使用してメモリを共有することができる。別の例として、DRAMについて記載したが、本明細書に記載の方法はスタティックランダムアクセスメモリ(SRAM)、フラッシュメモリなど他の種類のメモリと共に使用されてよい。したがって、本発明は添付の特許請求の範囲によってのみ限定される。]
权利要求:

請求項1
メモリバンクを共有するための多重ポートメモリ装置における方法であって、複数のポートを有するメモリ装置内の複数のメモリバンクの1つにアクセスする要求を第1のポート上で受信する工程と、複数のメモリバンクのうちの要求されたバンクが使用可能かどうかを判断する工程と、要求されたバンクが使用可能な場合に、要求されたメモリバンクへのアクセスを第1のポートに許可する工程と、要求されたメモリバンクが第1のポートにより予約されたという指示を他のポートに与える工程と、を含む方法。
請求項2
要求されたメモリバンクが使用可能かどうかを判断する工程は、多重ポートメモリ装置の他のポートに対する第1のポートの優先度を判断することを含む、請求項1に記載の方法。
請求項3
要求されたメモリバンクが使用可能かどうかを判断する工程は、バイパスアクセス制御信号がこのバンクに設定されているかどうかを判断することを含み、バイパスアクセス制御信号は、外部調整を使用して、複数の構成要素がメモリバンクを共有することを許可する、請求項1に記載の方法。
請求項4
要求されたメモリバンクが使用可能かどうかを判断する工程は、このバンクに関係する構成データを検査することを含む、請求項1に記載の方法。
請求項5
構成データにはモード設定レジスタの状態が反映される、請求項4に記載の方法。
請求項6
構成データには第1の組の電子ヒューズの状態が反映される、請求項4に記載の方法。
請求項7
第2の組の電子ヒューズは、構成データが第1の組の電子ヒューズにおいて反映されるかあるいはモード設定レジスタの状態において反映されるかを判断する、請求項6に記載の方法。
請求項8
メモリバンクが使用可能かどうかを判断する工程は、メモリバンクに関連する有限状態マシンのリフレッシュ状態を判断することを含む、請求項1に記載の方法。
請求項9
メモリバンクを解除する要求を第1のポート上で受信する工程をさらに含む、請求項1に記載の方法。
請求項10
メモリバンクを解除する第1のポート上の要求はDRAMプリチャージ要求である、請求項9に記載の方法。
請求項11
メモリバンクにアクセスする第1のポート上の要求はDRAM起動要求である、請求項1に記載の方法。
請求項12
指示を与える工程はバンク可用性信号を変更することを含む、請求項1に記載の方法。
請求項13
1つまたは複数の構成要素装置に取り付けられたポート間でメモリバンクを共有するための多重ポートメモリ装置であって、複数のメモリバンクと、複数のメモリバンクに接続された複数のポートと、複数のポートに接続されたバンクアクセス制御装置であって、構成要素からポート上で受信されたアクセス要求に基づき、複数のポートの1つに接続された構成要素が複数のメモリバンクの1つにアクセスできるかどうかを判断するように構成された、バンクアクセス制御装置と、を含む装置。
請求項14
バンクアクセス制御装置は、構成要素が多重ポートメモリ装置の他のポートに対する要求ポートの優先度に基づきメモリバンクにアクセスできるかどうかを判断する、請求項13に記載のシステム。
請求項15
バンクアクセス制御装置は、無効化信号がバンクに設定されたかどうかに基づき、構成要素がメモリバンクにアクセスできるかどうかを判断する、請求項13に記載のシステム。
請求項16
バンクアクセス制御装置は、メモリバンクに関係する構成データに基づき、構成要素がメモリバンクにアクセスできるかどうかを判断する、請求項13に記載のシステム。
請求項17
バンクアクセス制御装置は、メモリバンクに関連する1つまたは複数の電子ヒューズの状態に基づき、構成要素がメモリバンクにアクセスできるかどうかを判断する、請求項13に記載のシステム。
請求項18
複数のメモリバンクのそれぞれに関連するバンク可用性ピンであって、アクセス要求を送信する前に構成要素がバンク可用性ピンの値を確認する、バンク可用性ピンをさらに含む、請求項13に記載のシステム。
請求項19
複数のメモリバンクのそれぞれに関連するバンク可用性ピンであって、アクセス要求を受信後にバンクアクセス制御装置がバンク可用性ピンの値を確認することによりアクセス要求の成功を判断する、バンク可用性ピンをさらに含む、請求項13に記載のシステム。
請求項20
メモリ装置における共有メモリバンクへの1つまたは複数の構成要素によるアクセスを同期させる方法であって、複数のメモリバンクを含むメモリ装置内のメモリバンクが使用可能であることをバンク可用性信号が示すかどうかを判断する工程と、メモリバンクが使用可能であることをバンク可用性信号が示す場合にメモリ装置にバンク予約要求を送信する工程と、バンク予約要求が成功したかどうかを判断するバンク可用性信号を検査する工程と、バンク予約要求が成功した場合にメモリバンクにアクセスする工程と、を含む方法。
請求項21
構成要素がメモリバンクを正常に予約した後、他の構成要素によるメモリバンクを予約するその後の要求は、メモリバンクが使用不能であるという指示を受信する、請求項20に記載の方法。
請求項22
バンク可用性信号は、1つまたは複数の構成要素によるアクセスを同期させるためのセマフォを提供する、請求項20に記載の方法。
請求項23
バンク可用性信号はメモリ装置の標準ピンを介し提供される、請求項20に記載の方法。
請求項24
複数のメモリバンクを有する共有メモリ装置内のメモリバンクをリフレッシュする方法であって、複数のメモリバンクの1つをリフレッシュする要求を受信する工程と、メモリバンクが使用中であるかどうかを判断する工程と、メモリバンクが使用中である場合にメモリバンクが使用可能になるのを待つ工程と、メモリバンクをリフレッシュする工程であって、複数のメモリバンクの各メモリバンクは各メモリバンクの使用パターンに基づき異なる時にリフレッシュされ得る、工程と、を含む方法。
請求項25
メモリバンクにアクセスする要求を受信する工程と、メモリバンクがリフレッシュされているかどうかを判断する工程と、メモリバンクがリフレッシュされている場合はメモリバンクにアクセスする要求を拒絶する工程と、を含む、請求項23に記載の方法。
类似技术:
公开号 | 公开日 | 专利标题
US9864681B2|2018-01-09|Dynamic multithreaded cache allocation
KR101797639B1|2017-11-15|행 해머 이벤트에 응답하기 위한 방법, 장치 및 시스템
US4698753A|1987-10-06|Multiprocessor interface device
KR100575137B1|2006-05-03|반도체집적회로 및 데이터처리시스템
CN101149686B|2012-06-13|嵌入多个共享非易失性存储器的控制器的系统
US6505260B2|2003-01-07|Computer system with adaptive memory arbitration scheme
US6681285B1|2004-01-20|Memory controller and interface
KR960009659B1|1996-07-23|멀티프로세서 시스템의 스누프회로
CN100511185C|2009-07-08|使用核心指示符的高速缓存过滤
US5623632A|1997-04-22|System and method for improving multilevel cache performance in a multiprocessing system
KR101005114B1|2010-12-30|모드 레지스터에서의 버스트 길이 설정 변화 없이 상이한버스트―길이 액세스들을 지원하는 dram
US5265231A|1993-11-23|Refresh control arrangement and a method for refreshing a plurality of random access memory banks in a memory system
DE602004002300T2|2007-09-20|Selektive bankauffrischung
JP3819004B2|2006-09-06|メモリ制御装置
US6591323B2|2003-07-08|Memory controller with arbitration among several strobe requests
US5829052A|1998-10-27|Method and apparatus for managing memory accesses in a multiple multiprocessor cluster system
CN101861571B|2013-11-06|用于修改存储器存取次序的系统、设备及方法
US7213084B2|2007-05-01|System and method for allocating memory allocation bandwidth by assigning fixed priority of access to DMA machines and programmable priority to processing unit
KR100805603B1|2008-02-20|집적 회로
US6857055B2|2005-02-15|Programmable embedded DRAM current monitor
EP1820309B1|2008-08-27|Streaming memory controller
US6862666B2|2005-03-01|Hardware assisted lease-based access to memory
KR100868393B1|2008-11-11|비휘발성 메모리 제어기 및 휘발성 메모리에 액세스하는방법 및 시스템, 비휘발성 메모리 제어기 및 휘발성 메모리
EP1163593B1|2007-08-22|Apparatus for communicating between multiple functional units in a computer environment
US4449183A|1984-05-15|Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
同族专利:
公开号 | 公开日
EP2243139B1|2016-02-10|
US20090150621A1|2009-06-11|
WO2009073331A1|2009-06-11|
CN101884071B|2014-08-06|
TW200943317A|2009-10-16|
EP2243139A1|2010-10-27|
CN101884071A|2010-11-10|
TWI391949B|2013-04-01|
KR101558482B1|2015-10-07|
US8001334B2|2011-08-16|
KR20100095459A|2010-08-30|
JP5597546B2|2014-10-01|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
JPH05325552A|1991-03-13|1993-12-10|Mitsubishi Electric Corp|マルチポートメモリ|
US6298413B1|1998-11-19|2001-10-02|Micron Technology, Inc.|Apparatus for controlling refresh of a multibank memory device|
US20060161338A1|2001-10-25|2006-07-20|Samsung Electronics Co., Ltd.|Multi-port memory device providing protection signal|
JP2003272378A|2002-03-14|2003-09-26|Fujitsu Ltd|半導体記憶装置|
US20070022245A1|2005-07-25|2007-01-25|Samsung Electronics Co., Ltd.|Method of controlling refresh operation in multi-port dram and a memory system using the method|
JP2007172809A|2005-12-22|2007-07-05|Samsung Electronics Co Ltd|半導体メモリ装置及びその方法|
JP2008052370A|2006-08-22|2008-03-06|Elpida Memory Inc|半導体記憶装置及び半導体装置|JP2014067241A|2012-09-26|2014-04-17|Fujitsu Semiconductor Ltd|半導体記憶装置及び電子装置|US4745545A|1985-06-28|1988-05-17|Cray Research, Inc.|Memory reference control in a multiprocessor|
JP2988804B2|1993-03-19|1999-12-13|株式会社東芝|半導体メモリ装置|
US5875470A|1995-09-28|1999-02-23|International Business Machines Corporation|Multi-port multiple-simultaneous-access DRAM chip|
US6088760A|1997-03-07|2000-07-11|Mitsubishi Semiconductor America, Inc.|Addressing system in a multi-port RAM having main and cache memories|
US6279084B1|1997-10-24|2001-08-21|Compaq Computer Corporation|Shadow commands to optimize sequencing of requests in a switch-based multi-processor system|
US7120761B2|2000-12-20|2006-10-10|Fujitsu Limited|Multi-port memory based on DRAM core|
US7107386B1|2001-08-08|2006-09-12|Pasternak Solutions, Llc|Memory bus arbitration using memory bank readiness|
US6789155B2|2001-08-29|2004-09-07|Micron Technology, Inc.|System and method for controlling multi-bank embedded DRAM|
KR20050079862A|2004-02-07|2005-08-11|삼성전자주식회사|접근 금지 신호를 갖는 듀얼 포트 메모리 장치|
KR100721581B1|2005-09-29|2007-05-23|주식회사 하이닉스반도체|직렬 입/출력 인터페이스를 가진 멀티 포트 메모리 소자|
KR100745369B1|2005-12-22|2007-08-02|삼성전자주식회사|포트상태 시그날링 기능을 갖는 멀티패쓰 억세스블 반도체메모리 장치|
KR100735568B1|2006-01-23|2007-07-04|삼성전자주식회사|반도체 칩의 옵션회로 및 방법|
KR101414774B1|2007-08-29|2014-08-07|삼성전자주식회사|멀티포트 반도체 메모리 장치|
US8166238B2|2007-10-23|2012-04-24|Samsung Electronics Co., Ltd.|Method, device, and system for preventing refresh starvation in shared memory bank|US8706968B2|2007-12-06|2014-04-22|Fusion-Io, Inc.|Apparatus, system, and method for redundant write caching|
US8443134B2|2006-12-06|2013-05-14|Fusion-Io, Inc.|Apparatus, system, and method for graceful cache device degradation|
US9519540B2|2007-12-06|2016-12-13|Sandisk Technologies Llc|Apparatus, system, and method for destaging cached data|
KR20090087119A|2006-12-06|2009-08-14|퓨전 멀티시스템즈, 인크.|빈 데이터 토큰 지시어를 사용한 저장 장치 내의 데이터 관리 장치, 시스템 및 방법|
US7836226B2|2007-12-06|2010-11-16|Fusion-Io, Inc.|Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment|
US8489817B2|2007-12-06|2013-07-16|Fusion-Io, Inc.|Apparatus, system, and method for caching data|
US9104599B2|2007-12-06|2015-08-11|Intelligent Intellectual Property Holdings 2 Llc|Apparatus, system, and method for destaging cached data|
KR20090013342A|2007-08-01|2009-02-05|삼성전자주식회사|멀티 포트 반도체 메모리 장치 및 그에 따른 리프레쉬 방법|
US8402410B2|2007-08-27|2013-03-19|Samsung Electronics Co., Ltd.|Method and apparatus for managing configuration memory of reconfigurable hardware|
US20120030420A1|2009-04-22|2012-02-02|Rambus Inc.|Protocol for refresh between a memory controller and a memory device|
WO2011031899A2|2009-09-09|2011-03-17|Fusion-Io, Inc.|Apparatus, system, and method for power reduction in a storage device|
US8972627B2|2009-09-09|2015-03-03|Fusion-Io, Inc.|Apparatus, system, and method for managing operations for data storage media|
US9021158B2|2009-09-09|2015-04-28|SanDisk Technologies, Inc.|Program suspend/resume for memory|
US8984216B2|2010-09-09|2015-03-17|Fusion-Io, Llc|Apparatus, system, and method for managing lifetime of a storage device|
US9223514B2|2009-09-09|2015-12-29|SanDisk Technologies, Inc.|Erase suspend/resume for memory|
KR101635395B1|2010-03-10|2016-07-01|삼성전자주식회사|멀티포트 데이터 캐시 장치 및 멀티포트 데이터 캐시 장치의 제어 방법|
US8244972B2|2010-06-24|2012-08-14|International Business Machines Corporation|Optimizing EDRAM refresh rates in a high performance cache architecture|
US9104581B2|2010-06-24|2015-08-11|International Business Machines Corporation|eDRAM refresh in a high performance cache architecture|
US8380940B2|2010-06-25|2013-02-19|Qualcomm Incorporated|Multi-channel multi-port memory|
KR101796116B1|2010-10-20|2017-11-10|삼성전자 주식회사|반도체 장치, 이를 포함하는 메모리 모듈, 메모리 시스템 및 그 동작방법|
US9047178B2|2010-12-13|2015-06-02|SanDisk Technologies, Inc.|Auto-commit memory synchronization|
US9218278B2|2010-12-13|2015-12-22|SanDisk Technologies, Inc.|Auto-commit memory|
US9208071B2|2010-12-13|2015-12-08|SanDisk Technologies, Inc.|Apparatus, system, and method for accessing memory|
US10817502B2|2010-12-13|2020-10-27|Sandisk Technologies Llc|Persistent memory management|
US10817421B2|2010-12-13|2020-10-27|Sandisk Technologies Llc|Persistent data structures|
US8527693B2|2010-12-13|2013-09-03|Fusion IO, Inc.|Apparatus, system, and method for auto-commit memory|
US9092337B2|2011-01-31|2015-07-28|Intelligent Intellectual Property Holdings 2 Llc|Apparatus, system, and method for managing eviction of data|
WO2012116369A2|2011-02-25|2012-08-30|Fusion-Io, Inc.|Apparatus, system, and method for managing contents of a cache|
US8943330B2|2011-05-10|2015-01-27|Qualcomm Incorporated|Apparatus and method for hardware-based secure data processing using buffer memory address range rules|
US9767032B2|2012-01-12|2017-09-19|Sandisk Technologies Llc|Systems and methods for cache endurance|
US9251086B2|2012-01-24|2016-02-02|SanDisk Technologies, Inc.|Apparatus, system, and method for managing a cache|
CN103294405B|2012-03-02|2016-08-17|联想有限公司|数据读写方法和电子设备|
CN103309871B|2012-03-09|2016-12-14|联想有限公司|文件读写方法和电子设备|
CN103514067A|2012-06-28|2014-01-15|鸿富锦精密工业(深圳)有限公司|内存条|
CN103530208A|2012-07-04|2014-01-22|鸿富锦精密工业(深圳)有限公司|内存条|
US9666244B2|2014-03-01|2017-05-30|Fusion-Io, Inc.|Dividing a storage procedure|
US9979180B2|2014-10-20|2018-05-22|Infineon Technologies Ag|Electronic fuse|
US9933950B2|2015-01-16|2018-04-03|Sandisk Technologies Llc|Storage operation interrupt|
KR20170053373A|2015-11-06|2017-05-16|삼성전자주식회사|요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법|
US10587575B2|2017-05-26|2020-03-10|Microsoft Technology Licensing, Llc|Subsystem firewalls|
US10353815B2|2017-05-26|2019-07-16|Microsoft Technology Licensing, Llc|Data security for multiple banks of memory|
US10346345B2|2017-05-26|2019-07-09|Microsoft Technology Licensing, Llc|Core mapping|
法律状态:
2011-11-12| A621| Written request for application examination|Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111111 |
2013-04-19| A977| Report on retrieval|Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130419 |
2013-05-02| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130501 |
2013-07-31| A601| Written request for extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20130730 |
2013-08-07| A602| Written permission of extension of time|Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20130806 |
2013-08-31| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130830 |
2013-12-03| A131| Notification of reasons for refusal|Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131202 |
2014-02-22| A521| Written amendment|Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140221 |
2014-03-06| RD03| Notification of appointment of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20140305 |
2014-03-25| RD04| Notification of resignation of power of attorney|Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140305 |
2014-07-09| TRDD| Decision of grant or rejection written|
2014-07-16| A01| Written decision to grant a patent or to grant a registration (utility model)|Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140715 |
2014-08-14| A61| First payment of annual fees (during grant procedure)|Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140811 |
2014-08-15| R150| Certificate of patent or registration of utility model|Ref document number: 5597546 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
2017-08-01| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2018-07-31| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2019-07-30| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2020-07-29| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
2021-08-03| R250| Receipt of annual fees|Free format text: JAPANESE INTERMEDIATE CODE: R250 |
优先权:
申请号 | 申请日 | 专利标题
[返回顶部]